<?php
namespace app\common\model;

/**
 * 配置模型
 * @package app\common\model
 */
class Config extends Base
{
    /**
     * 更新配置数据
     *
     * @return array $data
     * @return bool
     */
    public function updateData($data)
    {
        foreach ($data as $k => $v) {
            self::where('name', $k)->setField('value', $v);
        }
        # 写入配置文件
        $config = self::column('value', 'name');
        $str = '<?php '.PHP_EOL.'//自动生成目录,请勿更改  '.PHP_EOL.' return ' . var_export($config, true) . ';';
        $result = file_put_contents(CONF_PATH . 'extra/web.php', $str);
        if (false===$result) {
            return false;
        }
        return true;
    }
    /**
     * 查询配置集合
     *
     * @return array
     */
    public function getAllData()
    {
        return self::column('value', 'name');
    }
    /**
     * 更新关于页面内容
     *
     * @param string $content
     * @return string
     */
    public function updateAbout($content)
    {
        $preContent=self::where('name', 'site_about')->value('value');
        $preg='/uploads\/\d*\/\w*\.[jpg|jpeg|png|bmp|gif]*/i';
        $oldImgPath=getImgPath($preContent, $preg);
        if (!empty($oldImgPath)) {
            $image_path=getImgPath($content, $preg);
            if (!empty($image_path)) {
                foreach ($oldImgPath as $val) {
                    if (!in_array($val, $image_path)) {
                        delDirAndFile($val);
                    }
                }
            } else {
                foreach ($oldImgPath as $val) {
                    delDirAndFile($val);
                }
            }
        }
        return self::where('name', 'site_about')->setField('value', $content);
    }
}
